创建型的设计模式主要包括:工厂模式、建造模式、单例模式、原型模式
本文主要针对建造模式类似的两种设计模式进行学习记录总结
主要介绍:工厂模式Factory、建造者模式(Builder)
工厂模式
工厂模式在日常设计开发中较为常见。
使用场景:
1)当客户程序不需要知道要使用对象的创建过程。
2)客户程序使用的对象存在变动的可能,或者根本就不知道使用哪一个具体的对象。
由产品类、工厂类、客户类三中类构成
这里举个例子
产品类:
工厂类
客户类
工厂模式较为适合进行未知产品类型的开发,在需要进行多种不同类型的产品的开发时,使用单一的工厂可以保持产品的单一入口,从而提高代码的复用率和开发时效率
建造者模式
建造者模式和工厂模式较为相似,但是在生成复杂产品的时候使用建造者模式会比较的适合
建造者模式比工厂模式多出一个指导者类,用于组装builder生产出的组件
以下是例子:
指导者类
建造者类(不同的产品有不同的组件):
产品类
客户程序
如果产品的建造很复杂,使用工厂模式
如果产品的建造更加复杂,使用建造者模式
按照个人理解来说,其实建造者模式就是工厂模式的上升,在生产出产品的类上再次封装一层,使得代码封装程度更高,更加便于维护
建造模式把生产出产品之上再加一层,工厂生产出的只是组件,还需要指导者去组装这些组件使之成为产品